package sword.offer;

import sword.offer.common.TreeNode;

/**
 * 输入一棵二叉树的根节点，求该树的深度。从根节点到叶节点依次经过的节点（含根、叶节点）形成树的一条路径
 * 最长路径的长度为树的深度。
 * @author 胡宇轩
 * @Email: yuxuan.hu01@bianlifeng.com
 */
public class FiftyFive {
    /**
     * 初步思路 使用DFS。后序遍历
     * */
    class Solution {
        public int maxDepth(TreeNode root) {
            return dfs(root,0);
        }

        private int dfs(TreeNode root, int level){
            if(root == null ){
                return level;
            }
            return Math.max(dfs(root.left,level+1), dfs(root.right, level+1));
        }
    }
}
